import Vue from 'vue'
import VueRouter from 'vue-router'

// 导入管理员登录组件
import Login from '../components/Login.vue'
// 导入后台主页组件
import Home from '../components/Home.vue'
// 导入前台主页组件
import Home2 from '../components/Home2.vue'
// 导入注册组件
import Register from '../components/Register.vue'
// 导入登录组件
import Login2 from '../components/Login2.vue'
// 导入购物组件
import Shop from '../components/Shop.vue'
// 用户信息组件
import User from '../components/User.vue'

// 调用Vue.use()函数 把VueRouter安装为Vue的插件
Vue.use(VueRouter)



// 定义路由规则

// 创建路由实例
const router = new VueRouter({
  routes: [

    // 重定向路由规则
    { path: '/', redirect: '/home2' },
    { path: '/home2', component: Home2, },
    { path: '/login', component: Login },
    { path: '/home', component: Home },
    { path: '/login2', component: Login2 },
    { path: '/shop', component: Shop },
    { path: '/register', component: Register },
    { path: '/user', component: User },

  ]
})



// 全局导航守卫
router.beforeEach((to, from, next) => {
  const token = window.sessionStorage.getItem('token')
  const id = window.sessionStorage.getItem('id')
  const administrator = window.sessionStorage.getItem("administrator")
  // 如果有token和id值 就不能再点进登录和注册页面 停留在首页
  if (to.path === '/login2') {
    if (token && id) return next('/home2')
  }
  if (to.path === '/register') {
    if (token && id) return next('/home2')
  }
  // 如果没有token和administrator值  不能进入后台页面   跳转到管理员登录页面
  if (to.path === '/home') {
    if (!token && !administrator) return next('/login')
  }
  // 如果有token和administrator值 就不能再点进管理员登录界面 停留在首页
  if (to.path === '/login') {
    if (token && administrator) return next('/home2')
  }
  // 如果有token 可点进购物界面
  if (to.path === '/shop') {
    if (!token) return next('/login2')
  }
  // 如果没有token和id值 则跳转到登录界面
  if (to.path === '/user') {
    if (!token && !id) return next('/login2')
  }

  // 放行
  next()


})




// 向外共享路由的实例对象
export default router
